package com.ywk.springCore.lifeCycle.applicationRunner;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * 使用场景：
 * springBoot项目启动时，若想在启动之后直接执行某一段代码，就可以用 ApplicationRunner这个接口，
 * 并实现接口里面的run(ApplicationArguments args)方法，方法中写上自己的想要的代码逻辑。
 * 若有多个代码段需要执行，可用@Order注解设置执行的顺序
 * 注：对比ApplicationListener建议使用CommandLintRunner、ApplicationRunner的方式，不会影响服务的启动速度，处理起来也比较简单。）
 * @Author zbh
 * @Date 2023/8/4
 */
@Component
@Order(1)
@Slf4j
public class MyApplicationRunner1 implements ApplicationRunner {

    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("========================================================================================");
        log.info("需要在springBoot项目启动后执行的代码1---");
    }
}
